//
//  PassMaker.m
//  linkingGame
//
//  Created by 李佳 on 15/4/5.
//  Copyright (c) 2015年 com.jinWu. All rights reserved.
//

#import "ClassPassMaker.h"
#import "MapMaker.h"

//留白根据设备而定


@interface ClassPassMaker()

@end


@implementation ClassPassMaker

+ (ClassLevelData*)bulitMapWithLevel: (NSUInteger)level
{
    ClassLevelData* levelData = [[ClassLevelData alloc] init];
    //1.得到行列数目。
    NSArray* minCloRow = GetMinRowAndCloNumber();
    NSUInteger minClo = [minCloRow[0] intValue];
    NSUInteger minRow = [minCloRow[1] intValue];
    
    NSUInteger cloAddValue = levelData.maxClo - minClo; //增量  分为6次增加完成
    NSUInteger rowAddValue = levelData.maxRow - minRow;
    if (!isPhone())
    {
        levelData.curCloNum = minClo + (level / 5) * (cloAddValue / 6.0);
        levelData.curRowNum = minRow + (level / 5) * (rowAddValue / 6.0);
    }
    else
    {
        levelData.curCloNum = minClo + ((level - 1) / 5) * (cloAddValue);
        levelData.curRowNum = minRow + ((level - 1) / 5) * (rowAddValue);
    }
    
    
    //2.得到消除的时间。
    //12->开始递减 每5个为一个周期
    if (level % 5 == 0)
        levelData.intervalTime = 5;
    else
        levelData.intervalTime = 14 - (2 * (level % 5));
    //最大可以用的时间 减去他的 4/1；
    levelData.totalTime = ((levelData.curCloNum * levelData.curRowNum) / 2) * levelData.intervalTime - ((levelData.curCloNum * levelData.curRowNum) / 2) / 4;
    if (isPhone())
    {
        levelData.typeCount = 8 - (5 - (level % 5));
    }
    else
    {
        levelData.typeCount = 18 - 2 * (5 - (level % 5));
    }
    //3.根据行列数得到map。
    MapMaker* mapMaker = [[MapMaker alloc] init];
    levelData.gameMapArray = [mapMaker MakeLLKMapWithRow:levelData.curRowNum Cloum:levelData.curCloNum AndIndexCount:levelData.typeCount];
    return levelData;
}
@end
